package com.gitee.wsl.mathematics.geometry.d2.circle

import com.gitee.wsl.mathematics.geometry.d2.AbstractCloseShape
import com.gitee.wsl.mathematics.geometry.d2.contour.ShapeContour
import com.gitee.wsl.mathematics.geometry.d2.line.Line
import com.gitee.wsl.mathematics.vector.vec2.Vec2f
import com.gitee.wsl.unit.angle.AngleUnit

class Slice(
    override val parent: Circle,
    override val startAngle: AngleUnit = AngleUnit.ZERO,
    override val sweepAngle: AngleUnit,
    override val outerRadius:Float
): AbstractCloseShape(proxy = parent.proxy),SliceSegment2d<Float, Vec2f, Circle> {

    constructor(circleSegment: CircleSegment,
                outerRadius:Float):this(circleSegment.parent,circleSegment.startAngle,circleSegment.sweepAngle, outerRadius)

    override fun createLine(a: Vec2f, b: Vec2f) = Line(a,b)

    override val contour: ShapeContour
        get() = TODO("Not yet implemented")

}